From fe473dbef8fd3ba174ef50ad4e79c92df63eeb3b Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 6 May 2019 12:15:21 +0100 Subject: [PATCH] Make get_layout_manager_type() public The inspector, and other tools introspecting the widget structure like gtk-builder-tool and Glade, may very well want to access the default layout manager used by a class, especially if there are layout properties involved, without having a whitelist of widget/layout manager associations. --- gtk/gtkwidget.c | 14 +++++++++++--- gtk/gtkwidget.h | 2 ++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index f456f19306..4eedd5a96c 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -707,8 +707,6 @@ static void gtk_widget_update_input_shape (GtkWidget *widget); static gboolean gtk_widget_class_get_visible_by_default (GtkWidgetClass *widget_class); -static GType gtk_widget_class_get_layout_manager_type (GtkWidgetClass *widget_class); - static void remove_parent_surface_transform_changed_listener (GtkWidget *widget); static void add_parent_surface_transform_changed_listener (GtkWidget *widget); @@ -13607,7 +13605,17 @@ gtk_widget_class_set_layout_manager_type (GtkWidgetClass *widget_class, priv->layout_manager_type = type; } -static GType +/** + * gtk_widget_class_get_layout_manager_type: + * @widget_class: a #GtkWidgetClass + * + * Retrieves the type of the #GtkLayoutManager used by the #GtkWidget class. + * + * See also: gtk_widget_class_set_layout_manager_type() + * + * Returns: a #GtkLayoutManager subclass, or %G_TYPE_INVALID + */ +GType gtk_widget_class_get_layout_manager_type (GtkWidgetClass *widget_class) { GtkWidgetClassPrivate *priv; diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index e93a40c743..42a8021e8f 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -417,6 +417,8 @@ GtkLayoutManager * gtk_widget_get_layout_manager (GtkWidget *widge GDK_AVAILABLE_IN_ALL void gtk_widget_class_set_layout_manager_type (GtkWidgetClass *widget_class, GType type); +GDK_AVAILABLE_IN_ALL +GType gtk_widget_class_get_layout_manager_type (GtkWidgetClass *widget_class); GDK_AVAILABLE_IN_ALL void gtk_widget_add_accelerator (GtkWidget *widget, -- 2.30.2